package com.example.designpattern.template;

/**
 * @author long
 * @date 2024/11/17 22:19
 */
public abstract class AbstractCheckServiceImpl implements ICheckService{

    @Override
    public void check(String args) {

        // 校验参数
        validateArgs(args);

        // 查询上下文信息（公共部分）
        String context = getContextData(args);

        // 执行检验操作
        doCheck(context);

    }

    protected abstract void validateArgs(String args);

    protected abstract void doCheck(String context);

    public String getContextData(String args){
        return "基础数据上下文";
    }

}
